package com.nuoniu.sibanyun.entity.erp;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.nuoniu.sibanyun.common.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * <p>
 * 单据编码规则
 * </p>
 *
 * @author baiqiang
 * @since 2020-09-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("fab_bill_code_rule")
@ApiModel(value="ErpVoucherType对象", description="单据编码规则")
public class ErpVoucherType extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "租户ID")
    @TableField("company_id")
    private Integer companyId;

    @ApiModelProperty(value = "模块ID")
    @TableField("module_id")
    private Integer moduleId;

    @ApiModelProperty(value = "中文名称")
    @TableField("voucher_title")
    private String voucherTitle;

    @ApiModelProperty(value = "英文名称 ")
    @TableField("voucher_code")
    private String voucherCode;

    @ApiModelProperty(value = "停用 ")
    @TableField("disabled")
    private Integer disabled;

    @ApiModelProperty(value = "所属模块编码")
    @TableField("parent_code")
    private String parentCode;

    @ApiModelProperty(value = "首段编码")
    @TableField("first_code")
    private String firstCode;

    @ApiModelProperty(value = "二段编码类型（年/年月/年月日）")
    @TableField("second_code_type")
    private String secondCodeType;

    @ApiModelProperty(value = "自动补空号 ")
    @TableField("is_auto_fill_breakpoint")
    private Integer isAutoFillBreakpoint;

    @ApiModelProperty(value = "编号规则是否可修改（0：否 1：是） ")
    @TableField("is_editable")
    private Integer isEditable;

    @ApiModelProperty(value = "是否需要审核 ")
    @TableField("is_need_audit")
    private Integer isNeedAudit;

    @ApiModelProperty(value = "分隔符 ")
    @TableField("separator_word")
    private String separatorWord;

    @ApiModelProperty(value = "流水号长度 ")
    @TableField("serialno_length")
    private Integer serialnoLength;

    @ApiModelProperty(value = "起始值 ")
    @TableField("start_ordenal_number")
    private BigDecimal startOrdenalNumber;

    @ApiModelProperty(value = "是否系统属性 ")
    @TableField("is_system")
    private Integer isSystem;

    @ApiModelProperty(value = "编码是否可见 ")
    @TableField("is_coding_visible")
    private Integer isCodingVisible;

    @ApiModelProperty(value = "审核是否可见 ")
    @TableField("is_auding_visible")
    private Integer isAudingVisible;

    @ApiModelProperty(value = "默认代码 ")
    @TableField("voucher_typealias")
    private String voucherTypealias;

    @ApiModelProperty(value = "是否自动编码 ")
    @TableField("is_auto_create")
    private Integer isAutoCreate;

    @ApiModelProperty(value = "显示序列 ")
    @TableField("display_order")
    private Integer displayOrder;

    @ApiModelProperty(value = "数据类型 ")
    @TableField("datatype")
    private String datatype;

    @ApiModelProperty(value = "是否消息中心可见 ")
    @TableField("is_message_center_visible")
    private Integer isMessageCenterVisible;

    @ApiModelProperty(value = "是否查询可见 ")
    @TableField("is_voucher_search_visible")
    private Integer isVoucherSearchVisible;

    @ApiModelProperty(value = "是否启用审批流 ")
    @TableField("Is_need_work_flow")
    private Integer isNeedWorkFlow;

    @ApiModelProperty(value = "编号方式显示类型 ")
    @TableField("code_manner")
    private Integer codeManner;

    @ApiModelProperty(value = "页面控件控制信息 ")
    @TableField("sys_prop_fields")
    private String sysPropFields;

    @ApiModelProperty(value = "后置表达式名 ")
    @TableField("expression_name")
    private String expressionName;

    @ApiModelProperty(value = "是否审核打印 ")
    @TableField("is_audit_print")
    private Integer isAuditPrint;

    @ApiModelProperty(value = "是否启用了邮件审批流 ")
    @TableField("is_enable_WFE_mail")
    private Integer isEnableWfeMail;

    @ApiModelProperty(value = "是否需要工作圈审批")
    @TableField("is_need_gzq_audit")
    private Integer isNeedGzqAudit;

    @ApiModelProperty(value = "是否信用控制 ")
    @TableField("is_credit_control")
    private Integer isCreditControl;

    @ApiModelProperty(value = "单据日期流水依据 ")
    @TableField("voucher_date_basis")
    private String voucherDateBasis;

    @ApiModelProperty(value = "是否启用最高进价控制")
    @TableField("is_highest_price_control")
    private Integer isHighestPriceControl;

    @ApiModelProperty(value = "是否启用最低售价控制 ")
    @TableField("is_lowest_price_control")
    private Integer isLowestPriceControl;

    @ApiModelProperty(value = "是否启用最高委外价控制 ")
    @TableField("is_out_source_price_control")
    private Integer isOutSourcePriceControl;


}
